home *** CD-ROM | disk | FTP | other *** search
- package sun.swing;
-
- import java.awt.AWTEvent;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import java.awt.FocusTraversalPolicy;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.GraphicsEnvironment;
- import java.awt.Point;
- import java.awt.PrintGraphics;
- import java.awt.Rectangle;
- import java.awt.RenderingHints;
- import java.awt.Shape;
- import java.awt.Toolkit;
- import java.awt.event.InputEvent;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseEvent;
- import java.awt.font.FontRenderContext;
- import java.awt.font.LineBreakMeasurer;
- import java.awt.font.TextHitInfo;
- import java.awt.font.TextLayout;
- import java.awt.geom.AffineTransform;
- import java.awt.print.PrinterGraphics;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- import java.security.AccessController;
- import java.text.AttributedCharacterIterator;
- import java.text.AttributedString;
- import java.text.Bidi;
- import java.util.Locale;
- import java.util.concurrent.Callable;
- import java.util.concurrent.Future;
- import java.util.concurrent.FutureTask;
- import javax.swing.JComponent;
- import javax.swing.JList;
- import javax.swing.JTable;
- import javax.swing.ListCellRenderer;
- import javax.swing.ListModel;
- import javax.swing.ListSelectionModel;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.table.TableCellRenderer;
- import javax.swing.text.DefaultCaret;
- import javax.swing.text.DefaultHighlighter;
- import javax.swing.text.Highlighter;
- import javax.swing.text.JTextComponent;
- import sun.awt.AppContext;
- import sun.font.FontDesignMetrics;
- import sun.print.ProxyPrintGraphics;
-
- public class SwingUtilities2 {
- public static final Object LAF_STATE_KEY = new StringBuffer("LookAndFeel State");
- private static LSBCacheEntry[] fontCache = new LSBCacheEntry[6];
- private static final int CACHE_SIZE = 6;
- private static int nextIndex;
- private static LSBCacheEntry searchKey;
- private static final int MIN_CHAR_INDEX = 87;
- private static final int MAX_CHAR_INDEX = 88;
- public static final FontRenderContext DEFAULT_FRC = new FontRenderContext((AffineTransform)null, false, false);
- public static final Object AA_TEXT_PROPERTY_KEY = new StringBuffer("AATextInfoPropertyKey");
- private static final StringBuilder SKIP_CLICK_COUNT = new StringBuilder("skipClickCount");
- public static final Object COMPONENT_UI_PROPERTY_KEY = new StringBuffer("ComponentUIPropertyKey");
- private static Field inputEvent_CanAccessSystemClipboard_Field = null;
- private static final String UntrustedClipboardAccess = "UNTRUSTED_CLIPBOARD_ACCESS_KEY";
- private static final int CHAR_BUFFER_SIZE = 100;
- private static final Object charsBufferLock = new Object();
- private static char[] charsBuffer = new char[100];
-
- private static final boolean isComplexLayout(char var0) {
- return var0 >= 2304 && var0 <= 3455 || var0 >= 3584 && var0 <= 3711 || var0 >= 6016 && var0 <= 6143 || var0 >= '\ud800' && var0 <= '\udfff';
- }
-
- private static final boolean isSimpleLayout(char var0) {
- return var0 < 1424 || 11776 <= var0 && var0 < '\ud800';
- }
-
- public static final boolean isComplexLayout(char[] var0, int var1, int var2) {
- boolean var3 = true;
-
- for(int var5 = var1; var5 < var2; ++var5) {
- char var4 = var0[var5];
- if (isComplexLayout(var4)) {
- return true;
- }
-
- if (var3) {
- var3 = isSimpleLayout(var4);
- }
- }
-
- if (var3) {
- return false;
- } else {
- return Bidi.requiresBidi(var0, var1, var2);
- }
- }
-
- public static AATextInfo drawTextAntialiased(JComponent var0) {
- return var0 != null ? (AATextInfo)var0.getClientProperty(AA_TEXT_PROPERTY_KEY) : null;
- }
-
- public static int getLeftSideBearing(JComponent var0, FontMetrics var1, String var2) {
- return getLeftSideBearing(var0, var1, var2.charAt(0));
- }
-
- public static int getLeftSideBearing(JComponent var0, FontMetrics var1, char var2) {
- if (var2 < 'X' && var2 >= 'W') {
- Object var4 = null;
- FontRenderContext var5 = getFontRenderContext(var0, var1);
- Font var6 = var1.getFont();
- synchronized(SwingUtilities2.class) {
- LSBCacheEntry var8 = null;
- if (searchKey == null) {
- searchKey = new LSBCacheEntry(var5, var6);
- } else {
- searchKey.reset(var5, var6);
- }
-
- for(LSBCacheEntry var12 : fontCache) {
- if (searchKey.equals(var12)) {
- var8 = var12;
- break;
- }
- }
-
- if (var8 == null) {
- var8 = searchKey;
- fontCache[nextIndex] = searchKey;
- searchKey = null;
- nextIndex = (nextIndex + 1) % 6;
- }
-
- return var8.getLeftSideBearing(var2);
- }
- } else {
- return 0;
- }
- }
-
- public static FontMetrics getFontMetrics(JComponent var0, Graphics var1) {
- return getFontMetrics(var0, var1, var1.getFont());
- }
-
- public static FontMetrics getFontMetrics(JComponent var0, Graphics var1, Font var2) {
- return var0 != null ? var0.getFontMetrics(var2) : Toolkit.getDefaultToolkit().getFontMetrics(var2);
- }
-
- public static int stringWidth(JComponent var0, FontMetrics var1, String var2) {
- return var2 != null && !var2.equals("") ? var1.stringWidth(var2) : 0;
- }
-
- public static String clipStringIfNecessary(JComponent var0, FontMetrics var1, String var2, int var3) {
- if (var2 != null && !var2.equals("")) {
- int var4 = stringWidth(var0, var1, var2);
- return var4 > var3 ? clipString(var0, var1, var2, var3) : var2;
- } else {
- return "";
- }
- }
-
- public static String clipString(JComponent var0, FontMetrics var1, String var2, int var3) {
- String var4 = "...";
- int var5 = var2.length();
- var3 -= stringWidth(var0, var1, var4);
- boolean var6 = false;
- synchronized(charsBufferLock) {
- if (charsBuffer != null && charsBuffer.length >= var5) {
- var2.getChars(0, var5, charsBuffer, 0);
- } else {
- charsBuffer = var2.toCharArray();
- }
-
- var6 = isComplexLayout(charsBuffer, 0, var5);
- if (!var6) {
- int var8 = 0;
-
- for(int var9 = 0; var9 < var5; ++var9) {
- var8 += var1.charWidth(charsBuffer[var9]);
- if (var8 > var3) {
- var2 = var2.substring(0, var9);
- break;
- }
- }
- }
- }
-
- if (var6) {
- FontRenderContext var7 = getFontRenderContext(var0, var1);
- AttributedString var14 = new AttributedString(var2);
- LineBreakMeasurer var15 = new LineBreakMeasurer(var14.getIterator(), var7);
- int var10 = var15.nextOffset((float)var3);
- var2 = var2.substring(0, var10);
- }
-
- return var2 + var4;
- }
-
- public static void drawString(JComponent var0, Graphics var1, String var2, int var3, int var4) {
- if (var2 != null && var2.length() > 0) {
- if (isPrinting(var1)) {
- Graphics2D var5 = getGraphics2D(var1);
- if (var5 != null) {
- TextLayout var10 = new TextLayout(var2, var5.getFont(), DEFAULT_FRC);
- Color var11 = var5.getColor();
- if (var11 instanceof PrintColorUIResource) {
- var5.setColor(((PrintColorUIResource)var11).getPrintColor());
- }
-
- var10.draw(var5, (float)var3, (float)var4);
- var5.setColor(var11);
- return;
- }
- }
-
- AATextInfo var9 = drawTextAntialiased(var0);
- if (var9 != null && var1 instanceof Graphics2D) {
- Graphics2D var6 = (Graphics2D)var1;
- Object var7 = null;
- Object var8 = var6.getRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING);
- if (var9.aaHint != var8) {
- var6.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, var9.aaHint);
- } else {
- var8 = null;
- }
-
- if (var9.lcdContrastHint != null) {
- var7 = var6.getRenderingHint(RenderingHints.KEY_TEXT_LCD_CONTRAST);
- if (var9.lcdContrastHint.equals(var7)) {
- var7 = null;
- } else {
- var6.setRenderingHint(RenderingHints.KEY_TEXT_LCD_CONTRAST, var9.lcdContrastHint);
- }
- }
-
- var1.drawString(var2, var3, var4);
- if (var8 != null) {
- var6.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, var8);
- }
-
- if (var7 != null) {
- var6.setRenderingHint(RenderingHints.KEY_TEXT_LCD_CONTRAST, var7);
- }
- } else {
- var1.drawString(var2, var3, var4);
- }
-
- }
- }
-
- public static void drawStringUnderlineCharAt(JComponent var0, Graphics var1, String var2, int var3, int var4, int var5) {
- if (var2 != null && var2.length() > 0) {
- drawString(var0, var1, var2, var4, var5);
- int var6 = var2.length();
- if (var3 >= 0 && var3 < var6) {
- byte var8 = 1;
- int var9 = 0;
- int var10 = 0;
- boolean var11 = isPrinting(var1);
- boolean var12 = var11;
- if (!var11) {
- synchronized(charsBufferLock) {
- if (charsBuffer != null && charsBuffer.length >= var6) {
- var2.getChars(0, var6, charsBuffer, 0);
- } else {
- charsBuffer = var2.toCharArray();
- }
-
- var12 = isComplexLayout(charsBuffer, 0, var6);
- }
- }
-
- if (!var12) {
- FontMetrics var13 = var1.getFontMetrics();
- var9 = var4 + stringWidth(var0, var13, var2.substring(0, var3));
- var10 = var13.charWidth(var2.charAt(var3));
- } else {
- Graphics2D var21 = getGraphics2D(var1);
- if (var21 != null) {
- FontRenderContext var14 = var11 ? DEFAULT_FRC : var21.getFontRenderContext();
- TextLayout var15 = new TextLayout(var2, var21.getFont(), var14);
- TextHitInfo var16 = TextHitInfo.leading(var3);
- TextHitInfo var17 = TextHitInfo.trailing(var3);
- Shape var18 = var15.getVisualHighlightShape(var16, var17);
- Rectangle var19 = var18.getBounds();
- var9 = var4 + var19.x;
- var10 = var19.width;
- }
- }
-
- var1.fillRect(var9, var5 + 1, var10, var8);
- }
-
- }
- }
-
- public static int loc2IndexFileList(JList var0, Point var1) {
- int var2 = var0.locationToIndex(var1);
- if (var2 != -1) {
- Object var3 = var0.getClientProperty("List.isFileList");
- if (var3 instanceof Boolean && (Boolean)var3 && !pointIsInActualBounds(var0, var2, var1)) {
- var2 = -1;
- }
- }
-
- return var2;
- }
-
- private static boolean pointIsInActualBounds(JList var0, int var1, Point var2) {
- ListCellRenderer var3 = var0.getCellRenderer();
- ListModel var4 = var0.getModel();
- Object var5 = var4.getElementAt(var1);
- Component var6 = var3.getListCellRendererComponent(var0, var5, var1, false, false);
- Dimension var7 = var6.getPreferredSize();
- Rectangle var8 = var0.getCellBounds(var1, var1);
- if (!var6.getComponentOrientation().isLeftToRight()) {
- var8.x += var8.width - var7.width;
- }
-
- var8.width = var7.width;
- return var8.contains(var2);
- }
-
- public static boolean pointOutsidePrefSize(JTable var0, int var1, int var2, Point var3) {
- if (var0.convertColumnIndexToModel(var2) == 0 && var1 != -1) {
- TableCellRenderer var4 = var0.getCellRenderer(var1, var2);
- Object var5 = var0.getValueAt(var1, var2);
- Component var6 = var4.getTableCellRendererComponent(var0, var5, false, false, var1, var2);
- Dimension var7 = var6.getPreferredSize();
- Rectangle var8 = var0.getCellRect(var1, var2, false);
- var8.width = var7.width;
- var8.height = var7.height;
-
- assert var3.x >= var8.x && var3.y >= var8.y;
-
- return var3.x > var8.x + var8.width || var3.y > var8.y + var8.height;
- } else {
- return true;
- }
- }
-
- public static void setLeadAnchorWithoutSelection(ListSelectionModel var0, int var1, int var2) {
- if (var2 == -1) {
- var2 = var1;
- }
-
- if (var1 == -1) {
- var0.setAnchorSelectionIndex(-1);
- var0.setLeadSelectionIndex(-1);
- } else {
- if (var0.isSelectedIndex(var1)) {
- var0.addSelectionInterval(var1, var1);
- } else {
- var0.removeSelectionInterval(var1, var1);
- }
-
- var0.setAnchorSelectionIndex(var2);
- }
-
- }
-
- public static boolean shouldIgnore(MouseEvent var0, JComponent var1) {
- return var1 == null || !var1.isEnabled() || !SwingUtilities.isLeftMouseButton(var0);
- }
-
- public static void adjustFocus(JComponent var0) {
- if (!var0.hasFocus() && var0.isRequestFocusEnabled()) {
- var0.requestFocus();
- }
-
- }
-
- public static int drawChars(JComponent var0, Graphics var1, char[] var2, int var3, int var4, int var5, int var6) {
- if (var4 <= 0) {
- return var5;
- } else {
- int var7 = var5 + getFontMetrics(var0, var1).charsWidth(var2, var3, var4);
- if (isPrinting(var1)) {
- Graphics2D var8 = getGraphics2D(var1);
- if (var8 != null) {
- FontRenderContext var9 = var8.getFontRenderContext();
- FontRenderContext var10 = getFontRenderContext(var0);
- if (var10.isAntiAliased() || var10.usesFractionalMetrics()) {
- var10 = new FontRenderContext(var10.getTransform(), false, false);
- }
-
- if (var10 != null && !isFontRenderContextCompatible(var9, var10)) {
- TextLayout var16 = new TextLayout(new String(var2, var3, var4), var8.getFont(), var10);
- Color var12 = var8.getColor();
- if (var12 instanceof PrintColorUIResource) {
- var8.setColor(((PrintColorUIResource)var12).getPrintColor());
- }
-
- var16.draw(var8, (float)var5, (float)var6);
- var8.setColor(var12);
- return var7;
- }
- }
- }
-
- AATextInfo var13 = drawTextAntialiased(var0);
- if (var13 != null && var1 instanceof Graphics2D) {
- Graphics2D var14 = (Graphics2D)var1;
- Object var15 = null;
- Object var11 = var14.getRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING);
- if (var13.aaHint != null && var13.aaHint != var11) {
- var14.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, var13.aaHint);
- } else {
- var11 = null;
- }
-
- if (var13.lcdContrastHint != null) {
- var15 = var14.getRenderingHint(RenderingHints.KEY_TEXT_LCD_CONTRAST);
- if (var13.lcdContrastHint.equals(var15)) {
- var15 = null;
- } else {
- var14.setRenderingHint(RenderingHints.KEY_TEXT_LCD_CONTRAST, var13.lcdContrastHint);
- }
- }
-
- var1.drawChars(var2, var3, var4, var5, var6);
- if (var11 != null) {
- var14.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, var11);
- }
-
- if (var15 != null) {
- var14.setRenderingHint(RenderingHints.KEY_TEXT_LCD_CONTRAST, var15);
- }
- } else {
- var1.drawChars(var2, var3, var4, var5, var6);
- }
-
- return var7;
- }
- }
-
- public static float drawString(JComponent var0, Graphics var1, AttributedCharacterIterator var2, int var3, int var4) {
- boolean var6 = isPrinting(var1);
- Color var7 = var1.getColor();
- if (var6 && var7 instanceof PrintColorUIResource) {
- var1.setColor(((PrintColorUIResource)var7).getPrintColor());
- }
-
- Graphics2D var8 = getGraphics2D(var1);
- float var5;
- if (var8 == null) {
- var1.drawString(var2, var3, var4);
- var5 = (float)var3;
- } else {
- FontRenderContext var9;
- if (var6) {
- var9 = getFontRenderContext(var0);
- if (var9.isAntiAliased() || var9.usesFractionalMetrics()) {
- var9 = new FontRenderContext(var9.getTransform(), false, false);
- }
- } else if ((var9 = getFRCProperty(var0)) == null) {
- var9 = var8.getFontRenderContext();
- }
-
- TextLayout var10 = new TextLayout(var2, var9);
- var10.draw(var8, (float)var3, (float)var4);
- var5 = var10.getAdvance();
- }
-
- if (var6) {
- var1.setColor(var7);
- }
-
- return var5;
- }
-
- public static boolean isFontRenderContextCompatible(FontRenderContext var0, FontRenderContext var1) {
- return var0 != null ? var0.equals(var1) : var1 == null;
- }
-
- public static Graphics2D getGraphics2D(Graphics var0) {
- if (var0 instanceof Graphics2D) {
- return (Graphics2D)var0;
- } else {
- return var0 instanceof ProxyPrintGraphics ? (Graphics2D)((Graphics2D)((ProxyPrintGraphics)var0).getGraphics()) : null;
- }
- }
-
- public static FontRenderContext getFontRenderContext(Component var0) {
- assert var0 != null;
-
- return var0 == null ? DEFAULT_FRC : var0.getFontMetrics(var0.getFont()).getFontRenderContext();
- }
-
- private static FontRenderContext getFontRenderContext(Component var0, FontMetrics var1) {
- assert var1 != null || var0 != null;
-
- return var1 != null ? var1.getFontRenderContext() : getFontRenderContext(var0);
- }
-
- public static FontMetrics getFontMetrics(JComponent var0, Font var1) {
- FontRenderContext var2 = getFRCProperty(var0);
- if (var2 == null) {
- var2 = DEFAULT_FRC;
- }
-
- return FontDesignMetrics.getMetrics(var1, var2);
- }
-
- private static FontRenderContext getFRCProperty(JComponent var0) {
- if (var0 != null) {
- AATextInfo var1 = (AATextInfo)var0.getClientProperty(AA_TEXT_PROPERTY_KEY);
- if (var1 != null) {
- return var1.frc;
- }
- }
-
- return null;
- }
-
- static boolean isPrinting(Graphics var0) {
- return var0 instanceof PrinterGraphics || var0 instanceof PrintGraphics;
- }
-
- public static boolean useSelectedTextColor(Highlighter.Highlight var0, JTextComponent var1) {
- Highlighter.HighlightPainter var2 = var0.getPainter();
- String var3 = var2.getClass().getName();
- if (var3.indexOf("javax.swing.text.DefaultHighlighter") != 0 && var3.indexOf("com.sun.java.swing.plaf.windows.WindowsTextUI") != 0) {
- return false;
- } else {
- try {
- DefaultHighlighter.DefaultHighlightPainter var4 = (DefaultHighlighter.DefaultHighlightPainter)var2;
- return var4.getColor() == null || var4.getColor().equals(var1.getSelectionColor());
- } catch (ClassCastException var5) {
- return false;
- }
- }
- }
-
- public static boolean canAccessSystemClipboard() {
- boolean var0 = false;
- if (!GraphicsEnvironment.isHeadless()) {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 == null) {
- var0 = true;
- } else {
- try {
- var1.checkSystemClipboardAccess();
- var0 = true;
- } catch (SecurityException var3) {
- }
-
- if (var0 && !isTrustedContext()) {
- var0 = canCurrentEventAccessSystemClipboard(true);
- }
- }
- }
-
- return var0;
- }
-
- public static boolean canCurrentEventAccessSystemClipboard() {
- return isTrustedContext() || canCurrentEventAccessSystemClipboard(false);
- }
-
- public static boolean canEventAccessSystemClipboard(AWTEvent var0) {
- return isTrustedContext() || canEventAccessSystemClipboard(var0, false);
- }
-
- private static synchronized boolean inputEvent_canAccessSystemClipboard(InputEvent var0) {
- if (inputEvent_CanAccessSystemClipboard_Field == null) {
- inputEvent_CanAccessSystemClipboard_Field = (Field)AccessController.doPrivileged(new 1());
- }
-
- if (inputEvent_CanAccessSystemClipboard_Field == null) {
- return false;
- } else {
- boolean var1 = false;
-
- try {
- var1 = inputEvent_CanAccessSystemClipboard_Field.getBoolean(var0);
- } catch (IllegalAccessException var3) {
- }
-
- return var1;
- }
- }
-
- private static boolean isAccessClipboardGesture(InputEvent var0) {
- boolean var1 = false;
- if (var0 instanceof KeyEvent) {
- KeyEvent var2 = (KeyEvent)var0;
- int var3 = var2.getKeyCode();
- int var4 = var2.getModifiers();
- switch (var3) {
- case 67:
- case 86:
- case 88:
- var1 = var4 == 2;
- break;
- case 127:
- var1 = var4 == 1;
- break;
- case 155:
- var1 = var4 == 2 || var4 == 1;
- break;
- case 65485:
- case 65487:
- case 65489:
- var1 = true;
- }
- }
-
- return var1;
- }
-
- private static boolean canEventAccessSystemClipboard(AWTEvent var0, boolean var1) {
- if (!EventQueue.isDispatchThread()) {
- return true;
- } else {
- return !(var0 instanceof InputEvent) || var1 && !isAccessClipboardGesture((InputEvent)var0) ? false : inputEvent_canAccessSystemClipboard((InputEvent)var0);
- }
- }
-
- private static boolean canCurrentEventAccessSystemClipboard(boolean var0) {
- AWTEvent var1 = EventQueue.getCurrentEvent();
- return canEventAccessSystemClipboard(var1, var0);
- }
-
- private static boolean isTrustedContext() {
- return System.getSecurityManager() == null || AppContext.getAppContext().get("UNTRUSTED_CLIPBOARD_ACCESS_KEY") == null;
- }
-
- public static String displayPropertiesToCSS(Font var0, Color var1) {
- StringBuffer var2 = new StringBuffer("body {");
- if (var0 != null) {
- var2.append(" font-family: ");
- var2.append(var0.getFamily());
- var2.append(" ; ");
- var2.append(" font-size: ");
- var2.append(var0.getSize());
- var2.append("pt ;");
- if (var0.isBold()) {
- var2.append(" font-weight: 700 ; ");
- }
-
- if (var0.isItalic()) {
- var2.append(" font-style: italic ; ");
- }
- }
-
- if (var1 != null) {
- var2.append(" color: #");
- if (var1.getRed() < 16) {
- var2.append('0');
- }
-
- var2.append(Integer.toHexString(var1.getRed()));
- if (var1.getGreen() < 16) {
- var2.append('0');
- }
-
- var2.append(Integer.toHexString(var1.getGreen()));
- if (var1.getBlue() < 16) {
- var2.append('0');
- }
-
- var2.append(Integer.toHexString(var1.getBlue()));
- var2.append(" ; ");
- }
-
- var2.append(" }");
- return var2.toString();
- }
-
- public static Object makeIcon(Class<?> var0, Class<?> var1, String var2) {
- return new 2(var0, var2, var1);
- }
-
- public static boolean isLocalDisplay() {
- try {
- if (System.getProperty("os.name").startsWith("Windows")) {
- return true;
- } else {
- Class var0 = Class.forName("sun.awt.X11GraphicsEnvironment");
- Method var1 = var0.getMethod("isDisplayLocal");
- return (Boolean)var1.invoke((Object)null, (Object[])null);
- }
- } catch (Throwable var2) {
- return true;
- }
- }
-
- public static int getUIDefaultsInt(Object var0) {
- return getUIDefaultsInt(var0, 0);
- }
-
- public static int getUIDefaultsInt(Object var0, Locale var1) {
- return getUIDefaultsInt(var0, var1, 0);
- }
-
- public static int getUIDefaultsInt(Object var0, int var1) {
- return getUIDefaultsInt(var0, (Locale)null, var1);
- }
-
- public static int getUIDefaultsInt(Object var0, Locale var1, int var2) {
- Object var3 = UIManager.get(var0, var1);
- if (var3 instanceof Integer) {
- return (Integer)var3;
- } else {
- if (var3 instanceof String) {
- try {
- return Integer.parseInt((String)var3);
- } catch (NumberFormatException var5) {
- }
- }
-
- return var2;
- }
- }
-
- public static Component compositeRequestFocus(Component var0) {
- if (var0 instanceof Container) {
- Container var1 = (Container)var0;
- if (var1.isFocusCycleRoot()) {
- FocusTraversalPolicy var2 = var1.getFocusTraversalPolicy();
- Component var3 = var2.getDefaultComponent(var1);
- if (var3 != null) {
- var3.requestFocus();
- return var3;
- }
- }
-
- Container var5 = var1.getFocusCycleRootAncestor();
- if (var5 != null) {
- FocusTraversalPolicy var6 = var5.getFocusTraversalPolicy();
- Component var4 = var6.getComponentAfter(var5, var1);
- if (var4 != null && SwingUtilities.isDescendingFrom(var4, var1)) {
- var4.requestFocus();
- return var4;
- }
- }
- }
-
- if (var0.isFocusable()) {
- var0.requestFocus();
- return var0;
- } else {
- return null;
- }
- }
-
- public static boolean tabbedPaneChangeFocusTo(Component var0) {
- if (var0 != null) {
- if (var0.isFocusTraversable()) {
- compositeRequestFocus(var0);
- return true;
- }
-
- if (var0 instanceof JComponent && ((JComponent)var0).requestDefaultFocus()) {
- return true;
- }
- }
-
- return false;
- }
-
- public static <V> Future<V> submit(Callable<V> var0) {
- if (var0 == null) {
- throw new NullPointerException();
- } else {
- FutureTask var1 = new FutureTask(var0);
- execute(var1);
- return var1;
- }
- }
-
- public static <V> Future<V> submit(Runnable var0, V var1) {
- if (var0 == null) {
- throw new NullPointerException();
- } else {
- FutureTask var2 = new FutureTask(var0, var1);
- execute(var2);
- return var2;
- }
- }
-
- private static void execute(Runnable var0) {
- SwingUtilities.invokeLater(var0);
- }
-
- public static void setSkipClickCount(Component var0, int var1) {
- if (var0 instanceof JTextComponent && ((JTextComponent)var0).getCaret() instanceof DefaultCaret) {
- ((JTextComponent)var0).putClientProperty(SKIP_CLICK_COUNT, var1);
- }
-
- }
-
- public static int getAdjustedClickCount(JTextComponent var0, MouseEvent var1) {
- int var2 = var1.getClickCount();
- if (var2 == 1) {
- var0.putClientProperty(SKIP_CLICK_COUNT, (Object)null);
- } else {
- Integer var3 = (Integer)var0.getClientProperty(SKIP_CLICK_COUNT);
- if (var3 != null) {
- return var2 - var3;
- }
- }
-
- return var2;
- }
-
- private static Section liesIn(Rectangle var0, Point var1, boolean var2, boolean var3, boolean var4) {
- int var5;
- int var6;
- int var7;
- boolean var8;
- if (var2) {
- var5 = var0.x;
- var6 = var1.x;
- var7 = var0.width;
- var8 = var3;
- } else {
- var5 = var0.y;
- var6 = var1.y;
- var7 = var0.height;
- var8 = true;
- }
-
- if (var4) {
- int var10 = var7 >= 30 ? 10 : var7 / 3;
- if (var6 < var5 + var10) {
- return var8 ? sun.swing.SwingUtilities2.Section.LEADING : sun.swing.SwingUtilities2.Section.TRAILING;
- } else if (var6 >= var5 + var7 - var10) {
- return var8 ? sun.swing.SwingUtilities2.Section.TRAILING : sun.swing.SwingUtilities2.Section.LEADING;
- } else {
- return sun.swing.SwingUtilities2.Section.MIDDLE;
- }
- } else {
- int var9 = var5 + var7 / 2;
- if (var8) {
- return var6 >= var9 ? sun.swing.SwingUtilities2.Section.TRAILING : sun.swing.SwingUtilities2.Section.LEADING;
- } else {
- return var6 < var9 ? sun.swing.SwingUtilities2.Section.TRAILING : sun.swing.SwingUtilities2.Section.LEADING;
- }
- }
- }
-
- public static Section liesInHorizontal(Rectangle var0, Point var1, boolean var2, boolean var3) {
- return liesIn(var0, var1, true, var2, var3);
- }
-
- public static Section liesInVertical(Rectangle var0, Point var1, boolean var2) {
- return liesIn(var0, var1, false, false, var2);
- }
- }
-